<html>
<head><meta charset="utf-8"><title>Slow Miri execution of proptest tests · general · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/index.html">general</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html">Slow Miri execution of proptest tests</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="223793063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223793063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223793063">(Jan 24 2021 at 03:30)</a>:</h4>
<p>Man... miri + proptest == slooooooow</p>



<a name="223793114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223793114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223793114">(Jan 24 2021 at 03:30)</a>:</h4>
<p>I'm at 17+ minutes</p>



<a name="223793130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223793130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223793130">(Jan 24 2021 at 03:31)</a>:</h4>
<p>For the one test.</p>



<a name="223793587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223793587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223793587">(Jan 24 2021 at 03:43)</a>:</h4>
<p><del>30</del> <del>45</del> 55 minutes. Probably too long to run in CI... but now I sleep <span aria-label="sleepy" class="emoji emoji-1f62a" role="img" title="sleepy">:sleepy:</span></p>



<a name="223810745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223810745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223810745">(Jan 24 2021 at 12:03)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116155">Jake Goulding</span> <a href="#narrow/stream/122651-general/topic/Where.E2.80.99s.20my.20undefined.20behavior.20when.20string.20interning.3F/near/223793063">said</a>:</p>
<blockquote>
<p>Man... miri + proptest == slooooooow</p>
</blockquote>
<p>yeah^^ there's some env var you can set to make it use fewer testcases... I recommend doing that ;)</p>



<a name="223814650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223814650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223814650">(Jan 24 2021 at 13:44)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> no, no — where is the environment variable to make Miri go faster?￼ 🙃</p>



<a name="223814816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223814816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223814816">(Jan 24 2021 at 13:49)</a>:</h4>
<p>CPU time now 6h 37m. Maybe I'll kill it.</p>



<a name="223817612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223817612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223817612">(Jan 24 2021 at 14:57)</a>:</h4>
<p>that env var would be <code>MIRIFLAGS="-Zmiri-disable-stacked-borrows -Zmiri-disable-validation -Zmiri-disable-data-race-detector"</code> :D</p>



<a name="223817690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223817690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223817690">(Jan 24 2021 at 14:59)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> I set proptest to run a single test case, and that has been running in Miri for 13m by itself. What types of operations might greatly contribute to Miri taking a while?</p>



<a name="223817741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223817741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223817741">(Jan 24 2021 at 15:00)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116155">Jake Goulding</span> <a href="#narrow/stream/122651-general/topic/Where.E2.80.99s.20my.20undefined.20behavior.20when.20string.20interning.3F/near/223817690">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> I set proptest to run a single test case, and that has been running in Miri for 13m by itself. What types of operations might greatly contribute to Miri taking a while?</p>
</blockquote>
<p>what did you set? proptest env vars are a bit confusing</p>



<a name="223817782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223817782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223817782">(Jan 24 2021 at 15:01)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="w">    </span><span class="k">static</span><span class="w"> </span><span class="n">CONFIG</span>: <span class="nc">Lazy</span><span class="o">&lt;</span><span class="n">ProptestConfig</span><span class="o">&gt;</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Lazy</span>::<span class="n">new</span><span class="p">(</span><span class="o">||</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">cfg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ProptestConfig</span>::<span class="n">default</span><span class="p">();</span><span class="w"></span>

<span class="w">        </span><span class="k">if</span><span class="w"> </span><span class="fm">cfg!</span><span class="p">(</span><span class="n">miri</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="n">cfg</span><span class="p">.</span><span class="n">cases</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"></span>
<span class="w">            </span><span class="n">cfg</span><span class="p">.</span><span class="n">failure_persistence</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">None</span><span class="p">;</span><span class="w"></span>
<span class="w">        </span><span class="p">}</span><span class="w"></span>

<span class="w">        </span><span class="n">cfg</span><span class="w"></span>
<span class="w">    </span><span class="p">});</span><span class="w"></span>

<span class="w">    </span><span class="n">proptest</span><span class="o">!</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="cp">#![proptest_config(CONFIG)]</span><span class="w"></span>
</code></pre></div>



<a name="223817792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223817792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223817792">(Jan 24 2021 at 15:01)</a>:</h4>
<p>I added a <code>panic</code> in the <code>if</code> there and it did trigger.</p>



<a name="223817941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223817941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223817941">(Jan 24 2021 at 15:05)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116155">Jake Goulding</span> <a href="#narrow/stream/122651-general/topic/Where.E2.80.99s.20my.20undefined.20behavior.20when.20string.20interning.3F/near/223817792">said</a>:</p>
<blockquote>
<p>I added a <code>panic</code> in the <code>if</code> there and it did trigger.</p>
</blockquote>
<p>oh interesting, I recall using env vars for this and I recall being confused by how two different env vars work; didnt know about the config object</p>



<a name="223818074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818074">(Jan 24 2021 at 15:09)</a>:</h4>
<blockquote>
<p>What types of operations might greatly contribute to Miri taking a while?</p>
</blockquote>
<p>It's mostly a big constant factor, as far as I know... with one exception: doing a lot of work on the same allocation, like many references being creates, can lead to a large borrow stack which can dominate the cost. so you could try <code>-Zmiri-disable-stacked-borrows</code> and see if that helps. usually it should be a factor of 2-4, not more.</p>



<a name="223818142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818142">(Jan 24 2021 at 15:11)</a>:</h4>
<p>So, without Miri, <code>time</code> says <code>real 0.296</code>.</p>



<a name="223818188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818188">(Jan 24 2021 at 15:12)</a>:</h4>
<p>Miri overhead is often on the order of 100x-1000x</p>



<a name="223818199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818199">(Jan 24 2021 at 15:12)</a>:</h4>
<p>so, around 5min for this (assuming it's the same code path, and no concurrency)</p>



<a name="223818221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818221">(Jan 24 2021 at 15:13)</a>:</h4>
<p>Ah, that flag helped a bunch.</p>



<a name="223818274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818274">(Jan 24 2021 at 15:14)</a>:</h4>
<p>Turns out I have to disable isolation anyway, as it grabs the current time</p>



<a name="223818484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818484">(Jan 24 2021 at 15:19)</a>:</h4>
<p><code>4:10.12</code> with  MIRIFLAGS='-Zmiri-disable-isolation -Zmiri-disable-stacked-borrows'</p>



<a name="223818580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818580">(Jan 24 2021 at 15:21)</a>:</h4>
<p>Also, <code>CARGO_TARGET_DIR=target/miri</code> is a <em>real</em> timesaver</p>



<a name="223818912"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818912" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818912">(Jan 24 2021 at 15:29)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116155">Jake Goulding</span> <a href="#narrow/stream/122651-general/topic/Where.E2.80.99s.20my.20undefined.20behavior.20when.20string.20interning.3F/near/223818484">said</a>:</p>
<blockquote>
<p><code>4:10.12</code> with  MIRIFLAGS='-Zmiri-disable-isolation -Zmiri-disable-stacked-borrows'</p>
</blockquote>
<p>wow that's slow... out of curiosity, does disabling the data race checker make any difference?</p>



<a name="223818918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223818918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223818918">(Jan 24 2021 at 15:29)</a>:</h4>
<p>(Miri doesn't have perf tracking but that is the only thing I can imagine that recently made things slower)</p>



<a name="223819486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223819486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223819486">(Jan 24 2021 at 15:41)</a>:</h4>
<p>That's <code>28.250</code> now</p>



<a name="223819638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223819638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223819638">(Jan 24 2021 at 15:45)</a>:</h4>
<p>So, is there a point to running miri with all of this turned off?</p>



<a name="223819647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223819647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223819647">(Jan 24 2021 at 15:45)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116155">Jake Goulding</span> <a href="#narrow/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests/near/223819486">said</a>:</p>
<blockquote>
<p>That's <code>28.250</code> now</p>
</blockquote>
<p>wait, that's just the data race checker being disabled (or also validation turned off)?</p>



<a name="223819707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223819707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223819707">(Jan 24 2021 at 15:46)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116155">Jake Goulding</span> <a href="#narrow/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests/near/223819638">said</a>:</p>
<blockquote>
<p>So, is there a point to running miri with all of this turned off?</p>
</blockquote>
<p>Miri will still detect various forms of UB, such as alignment issues, use-after-free, out-of-bounds, or using uninit memory in the wrong way</p>



<a name="223822038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223822038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223822038">(Jan 24 2021 at 16:32)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests/near/223819647">said</a>:</p>
<blockquote>
<p>wait, that's just the data race checker being disabled (or also validation turned off)?</p>
</blockquote>
<div class="codehilite"><pre><span></span><code>MIRIFLAGS=&#39;-Zmiri-disable-isolation -Zmiri-disable-stacked-borrows -Zmiri-disable-data-race-detector&#39;
</code></pre></div>



<a name="223825594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223825594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223825594">(Jan 24 2021 at 17:45)</a>:</h4>
<p>And</p>
<div class="codehilite"><pre><span></span><code>MIRIFLAGS=&#39;-Zmiri-disable-isolation -Zmiri-disable-data-race-detector&#39;
</code></pre></div>
<p>is <code>16:31.57</code></p>



<a name="223826352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223826352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223826352">(Jan 24 2021 at 18:01)</a>:</h4>
<p>(btw, "disable-isolation" does <em>not</em> miss any bugs... the flag just accidentally looks like the ones that do miss bugs :/ )</p>



<a name="223826365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223826365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223826365">(Jan 24 2021 at 18:01)</a>:</h4>
<p>Wow... how much concurrency is in this code? Back in <a href="https://github.com/rust-lang/miri/pull/1617">https://github.com/rust-lang/miri/pull/1617</a> some experiments were done and it looked the overhead of the data race detector in sequential code was tiny</p>



<a name="223827160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223827160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223827160">(Jan 24 2021 at 18:19)</a>:</h4>
<p>Zero concurrency of my own. I don't actually know if proptest does concurrency by default...</p>



<a name="223872160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223872160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223872160">(Jan 25 2021 at 09:27)</a>:</h4>
<p>if there is concurrency there should be a message somewhere warning you about thread support in Miri being experimental</p>



<a name="223872288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223872288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223872288">(Jan 25 2021 at 09:28)</a>:</h4>
<p><span class="user-mention" data-user-id="116155">@Jake Goulding</span> is the code you are running here available somewhere? If so, would be great if you could open an issue titled "data race detector causes massive slowdown" or so, with instructions for how to reproduce the problem</p>



<a name="223913392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223913392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223913392">(Jan 25 2021 at 15:35)</a>:</h4>
<p><a href="https://github.com/rust-lang/miri/issues/1689">Done</a>, thanks! <span aria-label="heart" class="emoji emoji-2764" role="img" title="heart">:heart:</span></p>



<a name="223913473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223913473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223913473">(Jan 25 2021 at 15:35)</a>:</h4>
<p>Now I wait for Ralf to see all my unsafe and then come rushing back: "no no, you cannot do this"</p>



<a name="223938869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223938869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223938869">(Jan 25 2021 at 18:22)</a>:</h4>
<p>ah, if only I had the time to actually read all that unsafe carefully enough ;)</p>



<a name="223981589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Slow%20Miri%20execution%20of%20proptest%20tests/near/223981589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests.html#223981589">(Jan 26 2021 at 00:16)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/122651-general/topic/Slow.20Miri.20execution.20of.20proptest.20tests/near/223938869">said</a>:</p>
<blockquote>
<p>ah, if only I had the time to actually read all that unsafe carefully enough ;)</p>
</blockquote>
<p>You should write a program that encodes all your knowledge about unsafe and then automate your ability to review...</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>